package cn.xiaopengstack.infrastructure.persistent.strategy.model;

import cn.xiaopengstack.domain.trade.model.valobj.NotifyTypeEnum;
import cn.xiaopengstack.infrastructure.persistent.strategy.notify.AbstractNotifyStrategy;
import cn.xiaopengstack.infrastructure.persistent.strategy.notify.HttpNotifyStrategy;
import cn.xiaopengstack.infrastructure.persistent.strategy.notify.MQNotifyStrategy;
import cn.xiaopengstack.infrastructure.persistent.strategy.notify.RPCNotifyStrategy;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author jiangyangang
 */
@Getter
@AllArgsConstructor
public enum NotifyTypeStrategyRelatEnum {
    RPC(NotifyTypeEnum.RPC, RPCNotifyStrategy.class),
    MQ(NotifyTypeEnum.MQ, MQNotifyStrategy.class),
    HTTP(NotifyTypeEnum.HTTP, HttpNotifyStrategy.class),
    ;


    private NotifyTypeEnum notifyTypeEnum;

    private Class<? extends AbstractNotifyStrategy> strategy;


}
